約 2,768,816 件
https://w.atwiki.jp/bfclanopam/pages/8.html
動画(youtube) @wikiのwikiモードでは #video(動画のURL) と入力することで、動画を貼り付けることが出来ます。 詳しくはこちらをご覧ください。 =>http //www1.atwiki.jp/guide/pages/801.html#id_30dcdc73 また動画のURLはYoutubeのURLをご利用ください。 =>http //www.youtube.com/ たとえば、#video(http //youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。
https://w.atwiki.jp/bfclanopam/pages/9.html
@wikiにはいくつかの便利なプラグインがあります。 RSS アーカイブ インスタグラム コメント ニュース 動画(Youtube) 編集履歴 これ以外のプラグインについては@wikiガイドをご覧ください = http //atwiki.jp/guide/
https://w.atwiki.jp/bf_4/pages/525.html
適当にばら撒いてても4人まで弾持つ - 2016-11-03 20 24 31 ( 圭)やはり工具は最強だな! - 2016-07-27 09 27 58 今更だけど中華銃だと思ってたわ - 2015-09-28 15 46 30 大工さんが、クギ打つ時に使う工具だよねコレ。 - 2015-08-31 01 22 37 他の武器のキル数が200程度にたいしてCBJ-MSだけ1600使ってるわ - 2015-06-25 00 42 03 ほんと使いやすい - 2015-06-25 00 40 03 この銃強いね。糞rエイムで普段は10キル程度しか取れない俺が一試合で30キル取れたわ。 - 2015-06-21 20 32 06 BF4とはかなり話がそれますが私はこの武器の読み方を「ソレスタルビーングイエーガーモビルスーツ」にしています。CB=ソレスタルビーング J=ゲルググJ(イエーガー) MS=モビルスーツ - 2015-04-19 21 11 50 大工はだいたいCBJ使ってるな - 2015-03-21 11 31 10 電動ドリル最高だわw自分に合ってる - 2015-03-10 22 55 44 楽しい - 2015-02-11 20 48 16 工兵の武器に悩んでる時に試しに使ってみたらマジで強くてワロタww なぜこいつの強さに気付かなかったのか… - 2015-02-06 16 23 51 まがじがドラムじゃなかったら普通のPDWだよな - 2015-01-27 18 12 23 まがじ→マガシン - 2015-01-27 18 13 06 世界最強の工具 - 2014-12-29 15 40 24 マガジンが好きっっっっっ - 2014-11-26 16 25 45 (形) - 2014-11-26 16 25 59 こいつにM145、レーザー、フラハイ付けたら楽しい。 - 2014-10-24 22 48 46 これにサプ着けて装弾数の多さを生かして裏取り一掃をするという夢を見た。 - 2014-10-23 16 34 41 アイアンサイト、言うほど見づらくなく感じたけど、PDWだから接近戦だと出番なかったな - 2014-09-22 10 08 21 初めてこれでkillされた時ガジェットかなにかかと思た - 2014-08-25 22 24 02 インパクトが何で武器になってるの? - 2014-08-25 20 39 16 か、改良されたんだよ...きっと... - 2015-07-18 18 52 42 最近俺しか使って無いのでは?という不安感を覚える。それほどまでにps4では見かけない……… - 2014-08-15 12 52 22 大丈夫今使ってるよ コンクエ大カービン共しばいてこようぜ - 2014-08-15 17 48 48 ACOGとサプ、レーザサイトつけてLMG運用すると - 2014-08-12 18 14 55 俺もそれで落ち着いたわ - 2014-09-21 15 35 55 アイ○ックさんが使ってそう - 2014-08-06 10 46 03 カ○ンズホームとかに売ってそうだな、今度探してみよう - 2014-08-06 02 25 25 AGOGとサプ付けるといがいとつよかった - 2014-07-18 23 29 46 あれはお前だったのか、上海で殺られたよ。 - 2014-07-31 07 47 50 今はPSO使ってるから多分違う人かもしれんが、やったぜ - 2014-08-08 06 45 17 (圭) - 2014-06-09 15 03 19 ヘッドショットじゃない、足か腕を狙え - 2015-03-23 15 57 33 工具…エンジニア…うっ、頭が… - 2014-06-12 13 43 33 何度見ても釘打ち機なんだよなぁ… - 2014-06-04 01 29 01 強wすwぎwワwロwタwおまえらこれたのしすぐるだろwwwwUMP屑杉wwwwwとりあえず越し駄目安定 - 2014-05-16 20 43 26 てめえ喧嘩売ってるのか?UMP45が屑なのはお前が屑だからだろうが武器のせいにするなあほ。 - 2014-05-21 12 03 27 ネタだろ - 2014-05-21 16 53 21 分かってるが、このあほ見ると腹が立つ。PSこの武器が強いのは分かっておりますので。 - 2014-05-23 09 29 28 中華サプレッサーを着けてアーバンのフラットを塗れば雰囲気だけMAC10に - 2014-05-01 20 31 53 アイアンサイトが産廃らしいけど、光学器機出ても着けずにやってる。まあ安定してることときたら… - 2014-05-01 20 30 15 リョービがアップ始めました - 2014-04-08 00 30 42 コンペンセイター付けてウッドランド迷彩のフラットを選択したときの圧倒的電動ドリル感 - 2014-04-04 08 05 49 一緒にジャンクをもてば… - 2014-03-26 16 28 01 最近、使ってる人ほとんどっていうか全く見ないw - 2014-03-22 20 07 26 RDS出るまでは腰だめで撃つといいよ。腰だめでもバシバシ当たる。 - 2014-03-02 00 58 51 なおいずれにせよカービンに食われる模様 - 2014-03-01 03 46 13 インパクトにしか見えない… - 2014-02-25 23 01 03 せめてあとほんのわずかだけでもいいから連射がはやければ神武器 - 2014-02-24 20 02 25 これの装弾数に慣れちゃうと、他の銃使った時に弾切れでハァーン!ってなるわ。 - 2014-02-17 12 12 04 これしか使ってないww - 2014-02-14 17 31 43 とてもじゃないが真っ正面での打ち合いに持ち出す代物ちゃう。可愛いから使ってっけど - 2014-02-12 01 15 22 いつ見ても工具にしか見えん - 2014-02-10 16 54 35 正面からの撃ち合いだと火力に難ありだけど装弾数とPDWの取り回しやすさを活かして最前線でちょこまか立ちまわるといい感じに戦える - 2014-02-08 00 10 15 同じ工具のM3サブマシンガンが登場したら、工具対決が見れそうだな。 - 2014-02-05 22 31 41 グリースガンっすね。確かにどっちも似てるなぁ。 - 2014-03-08 16 00 06 近中距離の間位での運用ならかなり強いな。ブレ小さくて弾速速いから当てやすいし連射速度もちょうどいい。1000キルいった - 2014-01-29 16 50 27 ( 圭) 工具だと? - 2014-01-22 20 24 13 宇宙へお帰りください - 2014-03-07 01 01 11 ( 圭) 工具だと? - 2014-01-22 20 23 26 エアロックは此方です - 2014-05-23 15 38 31 最初ネイルガンかと思った - 2014-01-16 14 20 54 支援のラピッドネイルです(大嘘) - 2014-01-17 15 54 29 ボーダーはお帰りください - 2014-02-06 23 54 36 ベースの防衛は任せろ!(帰還) - 2014-03-01 01 41 30 何Vのバッテリーなんだろうかこの電動インパクト - 2014-01-14 10 01 58 どっちがっつーと、こいつが力発揮するの至近距離以外の方だよね。結構離れた距離でも当たるし、威力特性からしても。 - 2014-01-13 22 41 15 この武器、RDSだけ付ければ他に何もいらない。中距離までなら問題無くつかえる。フルオートでのゴリ押し可能。アイアンサイト、見にくいと書いてあるがあまり気にならなかった(こんなもんか程度)。 - 2014-01-08 20 24 20 PDW-Rにはちょっと敵わん気がするけど見た目が独特で気に入った。もうちょいで1000キル行きそう - 2014-01-06 12 53 44 よく横反動ガー言ってる人いるけどそこまでカスじゃないだろ。コンペンセイターつけろよ。あと威力減衰はPP-2000の方が早いし最低威力も同じだぞ。 - 2014-01-06 12 50 26 PP-2000でMVPよくとってるけどこれ使ってみたらちょっと癖があるな。慣れたら感想にあるみたいにPDW中最強って感じになるのかな - 2014-01-06 00 14 30 最強ってのは人によって違うしなぁ。この銃に関しては扱いやすくて発砲音が好きという印象くらいか - 2014-01-11 06 16 03 「安心して、スウェーデン製よ」 - 2014-01-03 12 55 35 そいつぁ安心だ - 2014-01-22 02 50 25 グリースガンにしか見えんな、工兵らしい武器。 - 2013-12-28 14 27 38 "低反動で狙いやすい"は嘘、左右のリコイルはアホみたい。 - 2013-12-22 03 09 26 普通に狙いやすい&扱いやすい銃だと俺は思ったが。どんな運用したんだろうか・・・ - 2014-01-01 19 58 42 迷彩をリプルにしたらオモチャすぎてクソワロタ - 2013-12-20 20 04 07 電動ドリルというより、電動釘打ちだなwww - 2013-12-19 20 10 29 これ使うぐらいならPP-2000か出てるならPDW-Rの方が全然いい。弾数多いけど至近距離以外まともに戦えない産廃武器。 - 2013-12-16 18 39 35 AIMの問題じゃね?ww 確かにぶれるけどリコイルコントロールできてACOGとかつければ充分近距離以降も対処できるでww てかPDW枠で近距離以上を求めるのが酷なんだけどねw - 2013-12-16 20 04 31 これ使うぐらいならPP-2000か出てるならPDW-Rの方が全然いい。弾数多いけど至近距離以外まともに戦えない産廃武器。 - 2013-12-16 18 38 18 使ってみたら案外使いやすい - 2013-12-16 15 34 23 みんな使える使える言ってるけど、自分が使った感じでは中距離ぐらいの距離だと威力減衰の距離がが短いのか知らないけど、ちゃんと撃ち込んでもなかなか敵が死なない。おまけに横の反動が強いせいで精度が・・・ - 2013-12-15 23 48 58 安定性、射撃距離、弾速、装弾数はPDWの中でTOPクラス - 2013-12-15 01 23 34 ただそれならCRつかえば・・・ - 2013-12-15 01 24 49 もはや「工具」は愛称として定着したな。 - 2013-12-11 20 18 36 この電動ドリルをバカにすんなよ? 神エイムの日の時これで12キルストローク出来るくらい強いからな? あと見た目が可愛いww - 2013-12-09 19 19 09 「キルストリーク」の間違いだろ - 2013-12-15 13 13 58 可愛いって……マジですCAR? - 2013-12-10 23 14 20 中国製かと思った...... - 2013-12-09 16 32 22 俺も最初「なんだこの大陸製PDWちゃんと使えんのかよ?。」といってたわwww - 2013-12-09 19 21 29 ダサい - 2013-12-09 05 37 58 ヒップファイアアキュレシーが良い。近距離はADSしないでもいいかも。 - 2013-12-08 19 20 32 なにこの電動ドリル - 2013-12-08 19 14 17 なにこの電動ドリル - 2013-12-08 19 14 15 実物の写真見ると分かるけど、2000年代に設計されたとは思えないような外見。古臭すぎる - 2013-12-08 12 51 38 つまり、BFに最強のエンジニアが来たらこいつを装備するのか・・・ - 2013-12-08 05 59 52 はっきりいって、PDW枠中最強といっても過言ではない。 弾数・弾速・反動全てが優秀。 しかしアイアンサイトは産廃級。レートもそこまで高くないので出会い頭は撃ち負けやすいかな - 2013-12-07 00 29 05 キルラキルのゲリラもこんな銃?だったな - 2013-12-03 18 21 12 こいつにやられると俺は釘撃たれて死んだのかと思う - 2013-12-02 19 16 35 おまえら工具工具いうけどこれ相当強いで。。。 - 2013-12-02 09 09 20 PDWとしては最高の弾速というのもミソ - 2013-12-02 06 18 18 片手で使えそう - 2013-12-01 15 59 05 ゾンビに釘撃って戦う武器 - 2013-12-01 15 58 21 ツール枠が似合うよな。 - 2013-12-01 03 26 44 皆!これ以上工具をいじめないで! - 2013-11-30 00 31 54 技術の授業で使う気が...。 - 2013-11-29 21 02 32 いつかのアプデでサブ武器枠喰ってデュアル化出来るようになるさ(適当) - 2013-11-29 02 47 08 これボンド出す道具だろ? - 2013-11-28 01 48 00 マガジンのダサさがいい! - 2013-11-27 03 11 09 ネイルガンだと思ってた - 2013-11-26 19 04 16 このダサさがすごくイイ・・・ - 2013-11-22 21 50 59 釘を発射するんですね - 2013-11-22 04 46 11 ダサい - 2013-11-19 14 07 35 (圭)〈何だ工具じゃ無いのか… - 2013-11-18 13 15 39 石村に帰れ - 2013-11-24 19 42 35 (戦場に工具とか)ないです。 - 2013-11-17 16 22 55 リペアトーチって工具じゃない? - 2013-11-27 00 45 48 DICEのあるスウェーデンはサーブのSMG。UZIぽくも見える外観なのに何故か射程がPDW中最長で、マイルドなリコイルと相まって使いやすい。開発者の祖国補正なのか。グリップ下のスプレー缶のような物体は100発マガジン。でも装弾数は50。 - 2013-11-15 15 45 02 MP7似の最新モデルがあるがどこからも忘れられてる可哀想な武器。なお公式のデータを信じるなら専用の6.5x25CBJは5.56mmNATO弾並みの弾道特性を持つ優れた代物。 - 2013-11-22 22 13 03 外見が電動ドリルに見えるのは俺だけ? - 2013-11-14 22 42 35 自分はてっきり、FEARみたいな釘打機かと思いました。 - 2013-11-15 00 08 41 こいつっていわゆるグリースガ(ry - 2013-11-13 17 43 21 この武器かなり使いやすい。威力は並だけど装弾数&低反動で安定してキル出来るよ。 - 2013-11-11 08 42 01
https://w.atwiki.jp/apmayfes2010/pages/32.html
//699行目からEnigma in GUI のコードがあります。(new!!) //このページはwikiのソースコードモードで作られています.//プログラム以外の部分はコメントアウトするようにしましょう.//プログラムの改変は,(直接書き換えず)そのプログラムの後に付け足すのがいいでしょう. //結局ローター改変できなかったため、お茶をにごします。//この前練習がてら作ったスタキュレーのコード(Slide)とカエサル暗号のコード(Caesar)です。//RSAとかのアルゴリズム(?)もwikiに書いておきますね。 /*・スタキュレースライドする数をxとすると、平文の文字列から0,x,2x,…1,x+1,2x+1,…2,x+2,2x+2,…という順番に文字を取っていく。ex) x=3でabcdefghi→adgbehcfi*/ //MayFes.javaで保存、実行すればテストできる。 import java.io.*; abstract class Code{int ln;//length of plaintxtString plaintxt;//平文abstract String encode();//暗号化abstract String decode(String str);//復号化 引数は暗号文} class Slide extends Code{int num;//how many steps does it slide Slide(int x, String str){num = x;ln = str.length();plaintxt = str;} public String encode(){StringBuffer ciphertxt = new StringBuffer();int pointa = 0;int start = 0;int times = 0; while(times != ln){times ++;if(pointa = ln){start++;pointa = start;}ciphertxt.append(plaintxt.charAt(pointa));pointa = num+pointa;}return ciphertxt.toString().toUpperCase();} public String decode(String str){String ciphertxt = str;int ln_deco = str.length();char[] plaintxt_array = new char[ln_deco];StringBuffer plaintxt2 = new StringBuffer();int pointa = 0;int start = 0;int times = 0; while(times != ln_deco){if(pointa = ln_deco){start++;pointa = start;}plaintxt_array[pointa] = ciphertxt.charAt(times);pointa = pointa+num;times ++;}for(int i = 0; i ln_deco; i++){plaintxt2.append(plaintxt_array[i]);}return plaintxt2.toString().toLowerCase();}} class Caesar extends Code{int sn;//slide number Caesar(int k, String str){sn = k;ln = str.length();plaintxt = str;} String encode(){StringBuffer ciphertxt = new StringBuffer();//暗号文 for(int i = 0; i ln; i++){ciphertxt.append((char)((int) a +((int)plaintxt.charAt(i)-(int) a +sn)%26));}return ciphertxt.toString().toUpperCase();} String decode(String str){String ciphertxt = str.toLowerCase();int ln_deco = str.length();StringBuffer plaintxt2 = new StringBuffer(); for(int i = 0; i ln_deco; i++){plaintxt2.append((char)((int) z -((int) z -(int)ciphertxt.charAt(i)+sn)%26));}return plaintxt2.toString();}} public class MayFes{public static void main(String[] args) throws IOException{//下の2行はコマプロで入力した文をstrにするためのコードBufferedReader br = new BufferedReader(new InputStreamReader(System.in));String str = br.readLine(); Slide c = new Slide(3, str);Caesar cc = new Caesar(5, str);System.out.println(c.encode());System.out.println(c.decode(c.encode()));System.out.println(cc.encode());System.out.println(cc.decode(cc.encode())); }} ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ENIGMA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /*簡易説明(初期設定らへんについて 動かし方については[class Enigma]の前で説明)メモリは6つ(使う文字もa~f)として説明する。ローターは最初から3つ一気に定義しちゃう。一周したら次が1メモリ動くのが楽に作れるから。ポインタ3つはそれぞれのローターにたいして一つずつ。ポインタの位置はインスタンスを作る際に設定します。ちょこちょこ末尾にでてくる1,2,3の数字はどのローターに対してのメソッドかを示しています。 [numbers]はいくつローターを通るといくつズレるのかを設定してある。[Rotor]のインスタンスを作る際にローターの構造を設定する。その際、アルファベットで設定。たとえば、設定をbdecfaとしたらa→b(+1)a→bb→d(+2)b→c→dc→e(+2)c→d→ed→c(+5)d→e→f→a→b→ce→f(+1)e→ff→a(+1)f→aなので、numbersには{1,2,2,5,1,1}が記憶される。一回ローターが回ると、いくつズレるかが1つずつ下にいき、a→ b(+1)b→ c(+1)c→ e(+2)d→ f(+2)e→ d(+5)f→ a(+1)という変換がされるようになっている。 [reflecter]は最初から定義済み。変えるときはめんどくさいけど一つずつ設定してください。(コピペしてもらえれば70行目らへん) (このページだと202行目)ローターを通る時はめんどくさいので最初に[set_input]で文字を数字に変えて全部数字でやってます。[get_output]で最後に数字を文字にもどしています。 */ class Rotor{int pointa1, pointa2, pointa3;//pointa = 0~25int[] numbers1 = new int[6];int[] numbers2 = new int[6];int[] numbers3 = new int[6];int[] reflecter = new int[6];int[] input;int[] output;String out;int l;//平分の長さ ////////////////////////////////////////////////////////////////////////////////////////どれだけズレるのかを配列に記憶させる//////////////////////////////////reflecterは今は最初から設定する/////////////////////////////////////////////////////////////////////////////////////////// Rotor(String str1,String str2, String str3){for(int i =0; i 6; i++){pointa1 = 0;pointa2 = 0;pointa3 = 0; numbers1[i] = (int)str1.charAt(i) - (int) a -i;if(numbers1[i] 0) numbers1[i] = numbers1[i] + 6;numbers2[i] = (int)str2.charAt(i) - (int) a -i;if(numbers2[i] 0) numbers2[i] = numbers2[i] + 6;numbers3[i] = (int)str3.charAt(i) - (int) a -i;if(numbers3[i] 0) numbers3[i] = numbers3[i] + 6; //////////////////////////////////////////////////////////////////////////////reflecterの設定はここ/////////////////////////////////////////////////////////////////////////////////////// reflecter[0] = 5;reflecter[1] = 4;reflecter[2] = 3;reflecter[3] = 2;reflecter[4] = 1;reflecter[5] = 0;}} void pointa_set(int x, int y, int z){//ポインタをセットするpointa1 = x;pointa2 = y;pointa3 = z;} void pointa_reset(){//ポインタを0に戻すpointa1 = 0;pointa2 = 0;pointa3 = 0;} void pointa_forward(){//ポインタを1つ進めるpointa1++;if(pointa1 == 6){pointa1 = 0;pointa2++;if(pointa2 == 6){pointa2 = 0;pointa3++;if(pointa3 == 6){pointa3 = 0;}}}} ////////////////////////////////////////////////////////////////////////// goで行きの変換 backで帰りの変換//////////////////////////////////////reflecterは今はすでに設定されているとする/////////////////////////////////////////////////////////////////////int go1(int x){int y = x-pointa1;if(y 0) y = 6-(pointa1-x);int z = x+numbers1[y];if(z = 6) z = z-6;return z;} int back1(int x){int i = 0;while(go1(i) != x){i++;}return i;} int go2(int x){int y = x-pointa2;if(y 0) y = 6-(pointa2-x);int z = x+numbers2[y];if(z = 6) z = z-6;return z;} int back2(int x){int i = 0;while(go2(i) != x){i++;}return i;} int go3(int x){int y = x-pointa3;if(y 0) y = 6-(pointa3-x);int z = x+numbers3[y];if(z = 6) z = z-6;return z;} int back3(int x){int i = 0;while(go3(i) != x){i++;}return i;} int reflect(int x){return reflecter[x];} /////////////////////////////////////////////////////////////////////////ここまでで準備終了/////////////////////////////////////////////以下文章が入ってきた動作//////////////////////////////////////////////////////////////////////////////////////////// void set_input(String str){//平文を入力 文字を数字に変えておくl = str.length();input = new int[l];for(int i = 0; i str.length(); i++){input[i] = (int)str.charAt(i)-(int) a ;}} void set_output(){//ローターに通す 1→2→3→りふれくたー→3→2→1の順番output = new int[l];for(int i = 0; i l; i++){int x = go3(go2(go1(input[i])));int y = back1(back2(back3(reflect(x))));output[i] = y;pointa_forward();}} void get_output(){//出力を数字から文字に戻すStringBuffer str = new StringBuffer();for(int i = 0; i l; i++){char x = (char)((int) a +output[i]);str.append(x);}out = str.toString();} void run(String str){//入力から出力までを一つにまとめるset_input(str);set_output();get_output();System.out.println(out);}} /*簡易説明(どうやって動かすか)だいたい下の通りですが、まずは[Rotor]のインスタンスを作ります。その際に、ローターの設定を行ってください。(アルファベットの意味については冒頭の簡易説明参照)ポインタはローターのインスタンスを作った際の初期設定では(0,0,0)になっています。変えたいときは[pointa_set()]をつかってください。pointa_set(1,2,3)とでもやればpointa1→1pointa2→2pointa3→3とセットされます。[pointa_reset()]で初期設定にも戻せます。あとは[run(入力)]で出力がコマプロに出るようになっています。[out]が出力のString形式になっています。 下で実際に動かした様子を見てみると、(実行してみてください)fdcbea→cebcafが最初に実行されます。手に入れたcebcafを入力してもcebcaf→afeafdとなり最初の文字列が復元できません。[pointa_reset()]でポインタをもとに戻して実行するとcebcaf→fdcbeaとなり今度はうまくいきます。 次にポインタを(3,4,2)にセットしてもう一度fdcbeaを入力してみましょう。fdcbea→ebeefcとさっきとは違う文字列が得られました。もう一度ポインタを(3,4,2)にセットしなおして、ebeefcを入力するとebeefc→fdcbeaと復元できます。*/ public class Enigma{public static void main(String[] args){Rotor r = new Rotor("fadecb","cadbef","ebdcfa");r.run("fdcbea");r.run("cebcaf");r.pointa_reset();r.run("cebcaf"); r.pointa_set(3,4,2);r.run("fdcbea");r.pointa_set(3,4,2);r.run("ebeefc");}}////////////////////////////////////Enigma ここまで ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////ENIGMA ver1.1/////変更byうぇぶ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //主な変更点 modの導入,26変数化へ// pointa_setを変更 文字がa=0,b=2,…,z=25に対応するように.// pointa_forwardを変更 アプレット版通りの挙動// set_outputを変更 pointa_forwardを最初に実行する.// run()を変更 平文- 暗号文という出力に.//今後の課題 Rotor1,Rotor2の繰り上がり条件の一般化 (pointa_forward) class Rotor{ int mod = 26; int pointa1, pointa2, pointa3; //pointa = 0~25 int[] numbers1 = new int[mod]; int[] numbers2 = new int[mod]; int[] numbers3 = new int[mod]; int[] reflecter = new int[mod]; int[] input; int[] output; String out; int l; //平分の長さ ////////////////////////////////////////////////////////////////////////////////////////どれだけズレるのかを配列に記憶させる//////////////////////////////////reflecterは今は最初から設定する/////////////////////////////////////////////////////////////////////////////////////////// Rotor(String str1,String str2, String str3){ for(int i =0; i mod; i++){ pointa1 = 0; pointa2 = 0; pointa3 = 0; numbers1[i] = (int)str1.charAt(i) - (int) a -i; if(numbers1[i] 0) numbers1[i] = numbers1[i] + mod; numbers2[i] = (int)str2.charAt(i) - (int) a -i; if(numbers2[i] 0) numbers2[i] = numbers2[i] + mod; numbers3[i] = (int)str3.charAt(i) - (int) a -i; if(numbers3[i] 0) numbers3[i] = numbers3[i] + mod; //////////////////////////////////////////////////////////////////////////////reflecterの設定はここ/////////////////////////////////////////////////////////////////////////////////////// //ReflecterBの設定 reflecter[0] = 24 ; reflecter[1] = 17 ; reflecter[2] = 20 ; reflecter[3] = 7 ; reflecter[4] = 16 ; reflecter[5] = 18 ; reflecter[6] = 11 ; reflecter[7] = 3 ; reflecter[8] = 15 ; reflecter[9] = 23 ; reflecter[10] = 13 ; reflecter[11] = 6 ; reflecter[12] = 14 ; reflecter[13] = 10 ; reflecter[14] = 12 ; reflecter[15] = 8 ; reflecter[16] = 4 ; reflecter[17] = 1 ; reflecter[18] = 5 ; reflecter[19] = 25 ; reflecter[20] = 2 ; reflecter[21] = 22 ; reflecter[22] = 21 ; reflecter[23] = 9 ; reflecter[24] = 0 ; reflecter[25] = 19 ; } } void pointa_set(int x, int y, int z){ //ポインタをセットする pointa1 = mod - x; pointa2 = mod - y; pointa3 = mod - z; } void pointa_reset(){ //ポインタを0に戻す pointa1 = 0; pointa2 = 0; pointa3 = 0; } void pointa_forward(){ //ポインタを1つ進める//RotorをRotorIII,RotorII,RotorIの順にセットした時のポインタの挙動(うぇぶ)//アプレット版の挙動を再現している. Rotorを他の順にするときは22と4の数字を変える. if(pointa2 == 22){ //RotorIIの繰り上がりの数22 (eの数字4,mod-4=22) pointa2--; pointa3--; if(pointa3 0){ pointa3 = pointa3 + mod; } } pointa1--; if(pointa1 0){ pointa1 = pointa1 + mod; } if(pointa1 == 4){ //RotorIIIの繰り上がりの数22 (wの数字22,mod-22=4) pointa2--; if(pointa2 0){ pointa2 = pointa2 + mod; } } } ////////////////////////////////////////////////////////////////////////// goで行きの変換 backで帰りの変換//////////////////////////////////////reflecterは今はすでに設定されているとする///////////////////////////////////////////////////////////////////// int go1(int x){ int y = x-pointa1; if(y 0) y = mod-(pointa1-x); int z = x+numbers1[y]; if(z = mod) z = z-mod; return z; } int back1(int x){ int i = 0; while(go1(i) != x){ i++; } return i; } int go2(int x){ int y = x-pointa2; if(y 0) y = mod-(pointa2-x); int z = x+numbers2[y]; if(z = mod) z = z-mod; return z; } int back2(int x){ int i = 0; while(go2(i) != x){ i++; } return i; } int go3(int x){ int y = x-pointa3; if(y 0) y = mod-(pointa3-x); int z = x+numbers3[y]; if(z = mod) z = z-mod; return z; } int back3(int x){ int i = 0; while(go3(i) != x){ i++; } return i; } int reflect(int x){ return reflecter[x]; } /////////////////////////////////////////////////////////////////////////ここまでで準備終了/////////////////////////////////////////////以下文章が入ってきた動作//////////////////////////////////////////////////////////////////////////////////////////// void set_input(String str){ //平文を入力 文字を数字に変えておく l = str.length(); input = new int[l]; for(int i = 0; i str.length(); i++){ input[i] = (int)str.charAt(i)-(int) a ; } } void set_output(){ //ローターに通す 1→2→3→りふれくたー→3→2→1の順番 output = new int[l]; for(int i = 0; i l; i++){ pointa_forward(); int x = go3(go2(go1(input[i]))); int y = back1(back2(back3(reflect(x)))); output[i] = y; } } void get_output(){ //出力を数字から文字に戻す StringBuffer str = new StringBuffer(); for(int i = 0; i l; i++){ char x = (char)((int) a +output[i]); str.append(x); } out = str.toString(); } void run(String str){ //入力から出力までを一つにまとめる set_input(str); set_output(); get_output(); System.out.println(str + " - " +out); }} /*簡易説明(どうやって動かすか)だいたい下の通りですが、まずは[Rotor]のインスタンスを作ります。その際に、ローターの設定を行ってください。(アルファベットの意味については冒頭の簡易説明参照)ポインタはローターのインスタンスを作った際の初期設定では(0,0,0)になっています。変えたいときは[pointa_set()]をつかってください。pointa_set(1,2,3)とでもやればpointa1→1pointa2→2pointa3→3とセットされます。[pointa_reset()]で初期設定にも戻せます。あとは[run(入力)]で出力がコマプロに出るようになっています。[out]が出力のString形式になっています。 下で実際に動かした様子を見てみると、(実行してみてください)fdcbea→cebcafが最初に実行されます。手に入れたcebcafを入力してもcebcaf→afeafdとなり最初の文字列が復元できません。[pointa_reset()]でポインタをもとに戻して実行するとcebcaf→fdcbeaとなり今度はうまくいきます。 次にポインタを(3,4,2)にセットしてもう一度fdcbeaを入力してみましょう。fdcbea→ebeefcとさっきとは違う文字列が得られました。もう一度ポインタを(3,4,2)にセットしなおして、ebeefcを入力するとebeefc→fdcbeaと復元できます。*/ public class Enigma{ public static void main(String[] args){ Rotor r = new Rotor("bdfhjlcprtxvznyeiwgakmusqo", "ajdksiruxblhwtmcqgznpyfvoe", "ekmflgdqvzntowyhxuspaibrcj");//Rotorの設定 上から順にRotorIII,RotorII,RotorI//pointa初期設定x=23,d=3,h=7 r.pointa_set(23,3,7); r.run("abc"); r.pointa_set(23,3,7); r.run("azy"); r.pointa_set(23,3,7); r.run("aaa"); r.pointa_set(23,3,7); r.run("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); r.pointa_set(23,3,7); r.run("kqg"); }}/////////////////////////////////Enigma ver1.1 ここまで //////////////////ver.1.2用。なんかうまくいかない。 int[] srebmun1 = new int[mod];//numbersの逆関数的なものint[] srebmun2 = new int[mod];int[] srebmun3 = new int[mod]; srebmun1[(int)str1.charAt(i)-(int) a ] = mod - numbers1[i];srebmun2[(int)str2.charAt(i)-(int) a ] = mod - numbers2[i];srebmun3[(int)str3.charAt(i)-(int) a ] = mod - numbers3[i]; int bback1(int x){int y = x-pointa1;if(y 0) y = mod-(pointa1-x);int z = x + srebmun1[y];if(z = mod) z = z-mod;return z;}int bback2(int x){int y = x-pointa2;if(y 0) y = mod-(pointa2-x);int z = x + srebmun2[y];if(z = mod) z = z-mod;return z;}int bback3(int x){int y = x-pointa3;if(y 0) y = mod-(pointa3-x);int z = x + srebmun3[y];if(z = mod) z = z-mod;return z;}} /////////////////////////////////////////////////////////////////////////////////////////////ENIGMA IN GUI////////////////////////////////////////////////////////////////////////////////////////////////// /*使い方説明。正味な話、くみっしゅの完コピなので頑張ってコードを読めばわかるんじゃないかな?とか思わないでください。今回は見やすくしようだなんて微塵も思っていないので。 とりあえず、下にBrowser.javaBrowser.htmlのプログラムを置いてあるのでそのままコピペしてください。あとはコマプロでjavac Browser.javaappletviewer Browser.htmlと打てばおしまい!!簡単!!って覚えてるか。んで、変にhtmlのところとかでサイズを変えなければ・aaaaaaaaaaaって書いてある四角が1つ・アルファベットがごちゃごちゃしている四角が3つ・K,E,Yって書いてある四角が1つずつ・GoボタンとSetボタン・でっかい四角が2つ以上のものがあるはず。 ・aaaaaaaaaaaaaって書いてあるところここ平文を入れる。注意点としては、平文に小文字アルファベット以外のものが入っているとうんともすんともいわない。ピリオド、空白ですらダメ。どうにかしたほうがいいかも。 ・アルファベットがごちゃごちゃしているところこの子たちはローターの構造を表している。前回のEnigmaでRotorの構造を決定するときの文字列をそのまま入れてくれればOK。特に注意点はないし、この状況でネットのapplet版とそろっているらしい。うぇぶがやってくれました。 ・K,E,Yって書いてあるところここにpointa1,2,3の番号を入れる。applet版のデフォルトは(23,3,7)らしい。注意点として、文字は入れないこと。いちいちKEYの文字は消さないと動かないよ。(気に入らなかったら変えますね) ・Goボタンこれをおして暗号化 ・Setボタンローターやポインタの位置を変えたいのなら書きこんだあとにSetボタンを押してくれないと意味がないからね。Setしてあげてね。 ・でっかい四角ここに出力される。*/ //////////////////////////////////////////////////////////////////////////全体の流れ(一番大事)//////////////////////////////////////////////////////////////////////*まずは必ずポインタ(K,E,Yの部分)の数字を決めてセットすること。それをしないと動かない。そして平文には小文字アルファベットしか入れない。Goボタンを押せば、左の四角に暗号化された文が、右には最後の文字を変換したときの変換規則とポインタの位置がでてきます。Setボタンを押さない限り、ポインタの位置はずれ続けます。同じ文字列でも2回連続でGoボタンおしたら暗号文は変わるってことね。そのかわり暗号文をコピペして、ポインタのところは変えずにSet→Goとすればもとの平文がよみがえるはずです。(あたりまえだけど)例外処理は僕の手に負えないところなので、基本的に予想外のことが起きたらうんともすんともいわなくなりますが、なにかミスを見っけたら教えてください。直しといてくれると泣いて喜んじゃうよ?*/ //Browser.java import java.applet.*;import java.awt.*;import java.awt.event.*; class Rotor{ int mod = 26; int pointa1, pointa2, pointa3; //pointa = 0~25 int[] numbers1 = new int[mod]; int[] numbers2 = new int[mod]; int[] numbers3 = new int[mod]; int[] reflecter = new int[mod]; int[] input; int[] output; String out; int l; //平分の長さ Rotor(String str1,String str2, String str3){ for(int i =0; i mod; i++){ pointa1 = 0; pointa2 = 0; pointa3 = 0; numbers1[i] = (int)str1.charAt(i) - (int) a -i; if(numbers1[i] 0) numbers1[i] = numbers1[i] + mod; numbers2[i] = (int)str2.charAt(i) - (int) a -i; if(numbers2[i] 0) numbers2[i] = numbers2[i] + mod; numbers3[i] = (int)str3.charAt(i) - (int) a -i; if(numbers3[i] 0) numbers3[i] = numbers3[i] + mod; } reflecter[0] = 24 ; reflecter[1] = 17 ; reflecter[2] = 20 ; reflecter[3] = 7 ; reflecter[4] = 16 ; reflecter[5] = 18 ; reflecter[6] = 11 ; reflecter[7] = 3 ; reflecter[8] = 15 ; reflecter[9] = 23 ; reflecter[10] = 13 ; reflecter[11] = 6 ; reflecter[12] = 14 ; reflecter[13] = 10 ; reflecter[14] = 12 ; reflecter[15] = 8 ; reflecter[16] = 4 ; reflecter[17] = 1 ; reflecter[18] = 5 ; reflecter[19] = 25 ; reflecter[20] = 2 ; reflecter[21] = 22 ; reflecter[22] = 21 ; reflecter[23] = 9 ; reflecter[24] = 0 ; reflecter[25] = 19 ; } void pointa_set(int x, int y, int z){ //ポインタをセットする pointa1 = mod - x; pointa2 = mod - y; pointa3 = mod - z; } void pointa_reset(){ //ポインタを0に戻す pointa1 = 0; pointa2 = 0; pointa3 = 0; } void pointa_forward(){ //ポインタを1つ進める if(pointa2 == 22){ //RotorIIの繰り上がりの数22 (eの数字4,mod-4=22) pointa2--; pointa3--; if(pointa3 0){ pointa3 = pointa3 + mod; } } pointa1--; if(pointa1 0){ pointa1 = pointa1 + mod; } if(pointa1 == 4){ //RotorIIIの繰り上がりの数22 (wの数字22,mod-22=4) pointa2--; if(pointa2 0){ pointa2 = pointa2 + mod; } } } int go1(int x){ int y = x-pointa1; if(y 0) y = mod-(pointa1-x); int z = x+numbers1[y]; if(z = mod) z = z-mod; return z; } int back1(int x){ int i = 0; while(go1(i) != x){ i++; } return i; } int go2(int x){ int y = x-pointa2; if(y 0) y = mod-(pointa2-x); int z = x+numbers2[y]; if(z = mod) z = z-mod; return z; } int back2(int x){ int i = 0; while(go2(i) != x){ i++; } return i; } int go3(int x){ int y = x-pointa3; if(y 0) y = mod-(pointa3-x); int z = x+numbers3[y]; if(z = mod) z = z-mod; return z; } int back3(int x){ int i = 0; while(go3(i) != x){ i++; } return i; } int reflect(int x){ return reflecter[x]; } void set_input(String str){ //平文を入力 文字を数字に変えておく l = str.length(); input = new int[l]; for(int i = 0; i str.length(); i++){ input[i] = (int)str.charAt(i)-(int) a ; } } void set_output(){ //ローターに通す 1→2→3→りふれくたー→3→2→1の順番 output = new int[l]; for(int i = 0; i l; i++){ pointa_forward(); int x = go3(go2(go1(input[i]))); int y = back1(back2(back3(reflect(x)))); output[i] = y; } } void set_output2(){ //ローターに通す 1→2→3→りふれくたー→3→2→1の順番 output = new int[l]; for(int i = 0; i l; i++){ int x = go3(go2(go1(input[i]))); int y = back1(back2(back3(reflect(x)))); output[i] = y; } } void get_output(){ //出力を数字から文字に戻す StringBuffer str = new StringBuffer(); for(int i = 0; i l; i++){ char x = (char)((int) a +output[i]); str.append(x); } out = str.toString(); } String run(String str){ //入力から出力までを一つにまとめる set_input(str); set_output(); get_output(); return out; } String run2(String str){ set_input(str); set_output2(); get_output(); return out; }} /////////////////////////////////Enigma ver1.1 ここまで class MyTextField extends TextField{ MyTextField(Browser br,String str){ super(str,50); br.add(this); }} class MyTextFieldRotor1 extends TextField{MyTextFieldRotor1(Browser br, String str){super(str,26);br.add(this);}} class MyTextFieldRotor2 extends TextField{MyTextFieldRotor2(Browser br, String str){super(str,26);br.add(this);}} class MyTextFieldRotor3 extends TextField{MyTextFieldRotor3(Browser br, String str){super(str,26);br.add(this);}} class MyTextFieldKey1 extends TextField{MyTextFieldKey1(Browser br, String str){super(str,1);br.add(this);}} class MyTextFieldKey2 extends TextField{MyTextFieldKey2(Browser br, String str){super(str,1);br.add(this);}} class MyTextFieldKey3 extends TextField{MyTextFieldKey3(Browser br, String str){super(str,1);br.add(this);}} class MyTextArea extends TextArea{ MyTextArea(Browser br){ super("",20,40,TextArea.SCROLLBARS_BOTH); setEditable(true); setFont(new Font("Helvetica",Font.PLAIN,12)); br.add(this); }} class MyTextArea2 extends TextArea{ MyTextArea2(Browser br){ super("",20,35,TextArea.SCROLLBARS_BOTH); setEditable(true); setFont(new Font("Helvetica",Font.PLAIN,12)); br.add(this); }} abstract class MyButton extends Button implements ActionListener{ final Browser browser; MyButton(Browser br,String name){ super(name); browser = br; browser.add(this); addActionListener(this); } abstract public void actionPerformed(ActionEvent e);} class MyGoButton extends MyButton{ MyGoButton(Browser br){ super(br,"Go"); } public void actionPerformed(ActionEvent e){ browser.go(); }} class MySetButton extends MyButton{MySetButton(Browser br){super(br, "Set");}public void actionPerformed(ActionEvent e){browser.set();}} public class Browser extends Applet { MyTextArea myTextArea; MyTextArea2 myTextArea2; MyTextField myTextField;MyTextFieldKey1 myTextFieldKey1;MyTextFieldKey2 myTextFieldKey2;MyTextFieldKey3 myTextFieldKey3;MyTextFieldRotor1 myTextFieldRotor1;MyTextFieldRotor2 myTextFieldRotor2;MyTextFieldRotor3 myTextFieldRotor3;Rotor rotor; void go(){ myTextArea.append(rotor.run(myTextField.getText())+"\n\n"); myTextArea2.append("abcdefghijklmnopqrstuvwxyz k e y\n"+rotor.run2("abcdefghijklmnopqrstuvwxyz")+" "+rotor.pointa1+" "+rotor.pointa2+" "+rotor.pointa3+"\n"); } void set(){rotor = new Rotor(myTextFieldRotor1.getText(),myTextFieldRotor2.getText(),myTextFieldRotor3.getText());String keyStr1 = myTextFieldKey1.getText(); int key1 = Integer.parseInt(keyStr1); String keyStr2 = myTextFieldKey2.getText(); int key2 = Integer.parseInt(keyStr2); String keyStr3 = myTextFieldKey3.getText(); int key3 = Integer.parseInt(keyStr3); rotor.pointa_set(key1, key2, key3);} public void init(){ myTextField = new MyTextField(this, "aaaaaaaaaaa"); myTextFieldRotor1 = new MyTextFieldRotor1(this, "bdfhjlcprtxvznyeiwgakmusqo"); myTextFieldRotor2 = new MyTextFieldRotor2(this, "ajdksiruxblhwtmcqgznpyfvoe"); myTextFieldRotor3 = new MyTextFieldRotor3(this, "ekmflgdqvzntowyhxuspaibrcj"); myTextFieldKey1 = new MyTextFieldKey1(this, "K"); myTextFieldKey2 = new MyTextFieldKey2(this, "E"); myTextFieldKey3 = new MyTextFieldKey3(this, "Y"); new MyGoButton(this); new MySetButton(this); myTextArea = new MyTextArea(this); myTextArea2 = new MyTextArea2(this); } public static void main(String[] args) { Browser br = new Browser(); br.init(); Frame fr = new Frame(); fr.add("Center", br); fr.setSize(400,300); fr.setVisible(true); }} //Browser.html html title Browser /title body applet code = "Browser.class" width=700 height=450 /applet /body /html
https://w.atwiki.jp/bf4ciantire/pages/13.html
人気商品一覧 @wikiのwikiモードでは #price_list(カテゴリ名) と入力することで、あるカテゴリの売れ筋商品のリストを表示することができます。 カテゴリには以下のキーワードがご利用できます。 キーワード 表示される内容 ps3 PlayStation3 ps2 PlayStation3 psp PSP wii Wii xbox XBOX nds Nintendo DS desctop-pc デスクトップパソコン note-pc ノートパソコン mp3player デジタルオーディオプレイヤー kaden 家電 aircon エアコン camera カメラ game-toy ゲーム・おもちゃ全般 all 指定無し 空白の場合はランダムな商品が表示されます。 ※このプラグインは価格比較サイト@PRICEのデータを利用しています。 たとえば、 #price_list(game-toy) と入力すると以下のように表示されます。 ゲーム・おもちゃ全般の売れ筋商品 #price_list ノートパソコンの売れ筋商品 #price_list 人気商品リスト #price_list
https://w.atwiki.jp/bf4ciantire/pages/2.html
メニュー トップページ プラグイン紹介 まとめサイト作成支援ツール メニュー メニュー2 リンク @wiki @wikiご利用ガイド 他のサービス 無料ホームページ作成 無料ブログ作成 2ch型掲示板レンタル 無料掲示板レンタル お絵かきレンタル 無料ソーシャルプロフ ここを編集
https://w.atwiki.jp/bf4ciantire/pages/6.html
更新履歴 @wikiのwikiモードでは #recent(数字) と入力することで、wikiのページ更新履歴を表示することができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_117_ja.html たとえば、#recent(20)と入力すると以下のように表示されます。 取得中です。
https://w.atwiki.jp/bf4ciantire/pages/7.html
アーカイブ @wikiのwikiモードでは #archive_log() と入力することで、特定のウェブページを保存しておくことができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/25_171_ja.html たとえば、#archive_log()と入力すると以下のように表示されます。 保存したいURLとサイト名を入力して"アーカイブログ"をクリックしてみよう サイト名 URL
https://w.atwiki.jp/bf_4/pages/836.html
コンクエストコンクエスト概要 コンクエスト詳細 オブジェクト要素 レボリューション要素 コメント欄 コンクエスト コンクエスト概要 コンクエスト詳細 オブジェクト要素 レボリューション要素 コメント欄 最新順 もうさ…rush攻撃側は地獄だよ。マジでオマハビーチ…… - 2014-02-20 00 30 31 鏡大尉「上陸第一波失敗、上陸第一波失敗」 - 2014-02-21 16 30 08 監視塔からMG4バリバリは確かにオマハビーチ連想させるねw後、迫撃砲があったら完璧。 - 2014-03-06 02 26 09 カーグ上陸戦が消えたけど、有刺鉄線付きで帰ってきたなw - 2014-04-12 23 55 36 カーグは神マップだった。火嵐なんかよりもカーグリメイクしてほしかったわ。 - 2014-08-09 21 05 51 US不利すぎて草 - 2014-02-21 13 13 01 レボ発動後はヘリなんぞ操縦してると鉄塔にぶつかってKIAも多々ある IR系サイトがなきゃ非常に戦いづらい - 2014-02-21 16 54 59 笑えるぐらいus買った所が観たことない - 2014-02-26 21 45 32 陸地が遠い... - 2014-03-01 07 32 24 市街戦が熱いけど砂嵐はジャマ - 2014-03-20 06 41 15 砂嵐の中を全員で駆け抜ける時の緊張感と一体感は中々だぜ? - 2014-04-23 21 18 06 RU軍側だと勝つ可能性高くなる - 2014-08-09 18 22 46 BF4で一番の糞マップ - 2014-08-11 00 28 03 っつうか良いか糞か抜きにしてリメイクマップを更にリメイクとかふざけんなよ外人 - 2015-05-22 01 45 13 個人的にセーヌをリメイクしてほしかったな。64人でやりたかったのに - 2015-05-22 01 45 59 個人的にセーヌをリメイクしてほしかったな。64人でやりたかったのに - 2015-05-22 01 45 59
https://w.atwiki.jp/hn4bf4m/pages/9.html
@wikiにはいくつかの便利なプラグインがあります。 RSS アーカイブ インスタグラム コメント ニュース 動画(Youtube) 編集履歴 これ以外のプラグインについては@wikiガイドをご覧ください = http //atwiki.jp/guide/